package com.jrx.anytxn.param.dto.product;

import io.swagger.annotations.ApiModel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 表:分期手续费（出资方） 响应参数表
 *
 * @author liuyang
 * @date 2020-05-19
 */
@ApiModel(description = "分期手续费出资方InvestorInstallmentFeeRes")
public class InvestorInstallmentFeeRes implements Serializable {

    private static final long serialVersionUID = -807177873294451825L;

    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 费用表id	唯一索引
     * 表字段:investor_installment_fee_id
     */
    private String investorInstallmentFeeId;

    /**
     * 费用表机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    private String englishName;

    /**
     * 状态	1 = 正常0 = 失效
     * 表字段:table_status
     */
    private String tableStatus;

    /**
     * 费用计算基础	0 = 剩余本金1 = 贷款本金2 = 当期本金
     * 表字段:charge_basis
     */
    private String chargeBasis;

    /**
     * 费用收取频率	0 = 每期收取1 = 一次性收取2 = 每年收取
     * 表字段:charge_frequency
     */
    private String chargeFrequency;

    /**
     * 费用收取时间	0 = 账单日1 = 贷款发放日2 = 还款日3 = 宽限日
     * 表字段:generate_time
     */
    private String generateTime;

    /**
     * 费用收取方式	0 = 按比例收取 1 = 固定金额收取
     * 表字段:charge_option
     */
    private String chargeOption;

    /**
     * 费用收取比例，费用收取方式为0时有效
     * 表字段:charge_percent
     */
    private BigDecimal chargePercent;

    /**
     * 费用固定值，费用收取方式为1时有效
     * 表字段:fixed_amount
     */
    private BigDecimal fixedAmount;

    /**
     * 最大费用值
     * 表字段:max_amount
     */
    private BigDecimal maxAmount;

    /**
     * 最小费用值
     * 表字段:min_amount
     */
    private BigDecimal minAmount;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getInvestorInstallmentFeeId() {
        return investorInstallmentFeeId;
    }

    public void setInvestorInstallmentFeeId(String investorInstallmentFeeId) {
        this.investorInstallmentFeeId = investorInstallmentFeeId;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getTableStatus() {
        return tableStatus;
    }

    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    public String getChargeBasis() {
        return chargeBasis;
    }

    public void setChargeBasis(String chargeBasis) {
        this.chargeBasis = chargeBasis;
    }

    public String getChargeFrequency() {
        return chargeFrequency;
    }

    public void setChargeFrequency(String chargeFrequency) {
        this.chargeFrequency = chargeFrequency;
    }

    public String getGenerateTime() {
        return generateTime;
    }

    public void setGenerateTime(String generateTime) {
        this.generateTime = generateTime;
    }

    public String getChargeOption() {
        return chargeOption;
    }

    public void setChargeOption(String chargeOption) {
        this.chargeOption = chargeOption;
    }

    public BigDecimal getChargePercent() {
        return chargePercent;
    }

    public void setChargePercent(BigDecimal chargePercent) {
        this.chargePercent = chargePercent;
    }

    public BigDecimal getFixedAmount() {
        return fixedAmount;
    }

    public void setFixedAmount(BigDecimal fixedAmount) {
        this.fixedAmount = fixedAmount;
    }

    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    public BigDecimal getMinAmount() {
        return minAmount;
    }

    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }
}